package algo3.algocity.vista;

import java.awt.Color;
import java.awt.Graphics;
import java.util.ArrayList;
import java.util.List;


import algo3.algocity.modelo.interfaces.MiniConstruccion;
import algo3.algocity.modelo.mapa.Coordenada;
import algo3.algocity.modelo.mapa.Hectarea;
import algo3.algocity.modelo.mapa.Mapa;

public class EstadoVistaMapaSubterranea implements EstadoVistaMapa {

	private static final Color COLOR_DE_FONDO_TIERRA = Color.gray;
	private static final Color COLOR_DE_FONDO_AGUA = Color.BLUE;
	Dibujante dibujante = new Dibujante();
	
	@Override
	public void dibujar(Graphics graphics, Mapa mapa) {
		System.out.println("entro aldibujar");
		dibujarTerreno(graphics);
		//dibujarAgua(graphics, mapa);
		dibujarGrilla(graphics, mapa);
		dibujarMiniConstruccionesSubterraneas(graphics,mapa);
		
	}
	
	private void dibujarMiniConstruccionesSubterraneas(Graphics g, Mapa mapa) {
		 
	    for(MiniConstruccion miniConstruccion : mapa.obtenerMiniConstrucciones()){
		
	    	dibujante.dibujarTuberiasDeAgua(g, miniConstruccion);
	    }
	}
	
	private void dibujarGrilla(Graphics g, Mapa mapa) {
		
		g.setColor(Color.BLACK);
		for(int columna = 0; columna < mapa.obtenerAncho() * ANCHO_DE_COLUMNA; columna += ANCHO_DE_COLUMNA) {
		
			g.drawLine(0, columna, 750, columna);
		}
		for(int fila = 0; fila < mapa.obtenerAncho() * ANCHO_DE_FILA; fila += ANCHO_DE_FILA) {
			
			g.drawLine(fila, 0, fila, 750);
		}
	}
	
	private void dibujarTerreno(Graphics g) {
		
		g.setColor(COLOR_DE_FONDO_TIERRA);
		g.fillRect(0, 0, 750, 750);
		g.setColor(Color.BLACK);
		g.drawRect(0, 0, 749, 749);
	}
	
}
